<?php // $Id: text.php,v 1.4 2006/07/02 20:15:16 alex Exp $
/**
 * Класс-контейнер данных в формате text (печатные символы в текстовом формате)
 *
 */
class sharpobj_data_item_text extends sharpobj_data_item
{
    protected $type = 'text';
    /**
     * Проверять ли входные данные на скалярность
     */
    protected $check_scalat = true;
    /**
     * Принудительно приводить к нужному типу данных
     */
    protected $set_vartype = 'string';

    protected  function viewMiscCheckFormatError($data,$opt=null)
    {   // Пользовательский фильтр формата данных
        // Если ошибка - возвращаем true
        // Для установки проверки должен быть переопределен
        if (strlen($data)===0 OR preg_match('/^[^\x00-\x09\x0B\x0C\x0E-\x1F]+$/',$data))
        {
            return false;
        }else 
        {
            $this->conditionError('format');
            return true;
        }
    }
    function viewOut_html($opt=null)
    {
        if ($this->is_recurse)
        {
            mst_error('Рекурсия не поддерживается',
                "Для поддержки рекурсии метод ".__FUNCTION__." должен быть переопределен",2);
        }
        // Возвращаем данные, обработанные для отображения в форме
        return nl2br(htmlspecialchars($this->readData()));
    }
}
?>